﻿using System.Collections.Generic;

namespace Algoritmia.StateSpaces
{
    public interface IBackwardsStateSpace<TState, TDecision>
    {
        IEnumerable<TState> FinalStates { get; }
        IEnumerable<TDecision> IncomingDecisions(TState state);
        bool IsInitial(TState state);
        TState Undo(TState state, TDecision decision);
    }
}
